package com.sg.controller.pbff;

import com.sg.service.biz.pbff.AppSceneService;
import com.sg.dto.biz.pbff.req.*;
import com.sg.dto.biz.pbff.res.*;
import com.sg.common.ro.OkrResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
@Api(value = "AppScene", tags = {"AppScene"})
@RestController
// @RequestMapping("/poms/appScene/")
public class AppSceneController {
    @Autowired
    AppSceneService appSceneService;

    /**
     * B1-1查询业务应用列表（平台）
     * gen by moon at 8/10/2022, 3:41:13 AM
     */
    @PostMapping("/oms/platform/appScene/queryBizAppSceneList")
    @ApiOperation(value = "B1-1查询业务应用列表（平台）", response = OkrResult.class)
    public OkrResult<BffQueryBizAppSceneListRespDto> queryBizAppSceneList(@RequestBody(required = false) @Validated BffQueryBizAppSceneListReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizAppSceneList(reqDTO));
    }

    /**
     * B1-1查询被赋能场景列表（平台）
     * gen by moon at 10/25/2022, 10:01:11 AM
     */
    @PostMapping("/oms/platform/appScene/queryBizAppSceneRelEdList")
    @ApiOperation(value = "B1-1查询被赋能场景列表（平台）", response = OkrResult.class)
    public OkrResult<BffQueryBizAppSceneRelEdListRespDto> queryBizAppSceneRelEdList(@RequestBody(required = false) @Validated BffQueryBizAppSceneRelEdListReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizAppSceneRelEdList(reqDTO));
    }

    /**
     * B1-1查询宿主类型未推荐场景列表（平台）--待优化
     * gen by moon at 9/12/2022, 12:30:45 AM
     */
    @PostMapping("/oms/platform/appScene/queryBizScnHostTypeList")
    @ApiOperation(value = "B1-1查询宿主类型未推荐场景列表（平台）--待优化", response = OkrResult.class)
    public OkrResult<BffQueryBizScnHostTypeListRespDto> queryBizScnHostTypeList(@RequestBody(required = false) @Validated BffQueryBizScnHostTypeListReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizScnHostTypeList(reqDTO));
    }

    /**
     * B1-1新增应用赋能场景（平台）
     * gen by moon at 8/10/2022, 3:41:51 AM
     */
    @PostMapping("/oms/platform/appScene/addBizAppSceneRel")
    @ApiOperation(value = "B1-1新增应用赋能场景（平台）", response = OkrResult.class)
    public OkrResult<BffAddBizAppSceneRelRespDto> addBizAppSceneRel(@RequestBody(required = false) @Validated BffAddBizAppSceneRelReqDto reqDTO) {
        return OkrResult.success(appSceneService.addBizAppSceneRel(reqDTO));
    }

    /**
     * B1-1查询业务应用菜单列表（边界）
     * gen by moon at 8/10/2022, 3:41:47 AM
     */
    @PostMapping("/oms/platform/appScene/queryBizAppSceneMenuList")
    @ApiOperation(value = "B1-1查询业务应用菜单列表（边界）", response = OkrResult.class)
    public OkrResult<BffQueryBizAppSceneMenuListRespDto> queryBizAppSceneMenuList(@RequestBody(required = false) @Validated BffQueryBizAppSceneMenuListReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizAppSceneMenuList(reqDTO));
    }

    /**
     * B1-1查询未赋能场景列表（平台）
     * gen by moon at 8/10/2022, 3:41:44 AM
     */
    @PostMapping("/oms/platform/appScene/queryNotEnabledBizSceneList")
    @ApiOperation(value = "B1-1查询未赋能场景列表（平台）", response = OkrResult.class)
    public OkrResult<BffQueryNotEnabledBizSceneListRespDto> queryNotEnabledBizSceneList(@RequestBody(required = false) @Validated BffQueryNotEnabledBizSceneListReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryNotEnabledBizSceneList(reqDTO));
    }

    /**
     * B1-1修改业务场景（平台）
     * gen by moon at 8/10/2022, 3:41:40 AM
     */
    @PostMapping("/oms/platform/appScene/updateBizScene")
    @ApiOperation(value = "B1-1修改业务场景（平台）", response = OkrResult.class)
    public OkrResult<BffUpdateBizSceneRespDto> updateBizScene(@RequestBody(required = false) @Validated BffUpdateBizSceneReqDto reqDTO) {
        return OkrResult.success(appSceneService.updateBizScene(reqDTO));
    }

    /**
     * B1-1新增业务场景（平台）
     * gen by moon at 8/10/2022, 3:41:36 AM
     */
    @PostMapping("/oms/platform/appScene/addBizScene")
    @ApiOperation(value = "B1-1新增业务场景（平台）", response = OkrResult.class)
    public OkrResult<BffAddBizSceneRespDto> addBizScene(@RequestBody(required = false) @Validated BffAddBizSceneReqDto reqDTO) {
        return OkrResult.success(appSceneService.addBizScene(reqDTO));
    }

    /**
     * B1-1查询应用赋能场景列表（平台）
     * gen by moon at 8/15/2022, 10:27:38 PM
     */
    @PostMapping("/oms/platform/appScene/queryBizAppSceneRelList")
    @ApiOperation(value = "B1-1查询应用赋能场景列表（平台）", response = OkrResult.class)
    public OkrResult<BffQueryBizAppSceneRelListRespDto> queryBizAppSceneRelList(@RequestBody(required = false) @Validated BffQueryBizAppSceneRelListReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizAppSceneRelList(reqDTO));
    }

    /**
     * B1-1查询业务场景列表（平台）
     * gen by moon at 8/10/2022, 3:41:28 AM
     */
    @PostMapping("/oms/platform/appScene/queryBizSceneList")
    @ApiOperation(value = "B1-1查询业务场景列表（平台）", response = OkrResult.class)
    public OkrResult<BffQueryBizSceneListRespDto> queryBizSceneList(@RequestBody(required = false) @Validated BffQueryBizSceneListReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizSceneList(reqDTO));
    }

    /**
     * B1-1修改业务应用（平台）
     * gen by moon at 8/10/2022, 3:41:24 AM
     */
    @PostMapping("/oms/platform/appScene/updateBizAppScene")
    @ApiOperation(value = "B1-1修改业务应用（平台）", response = OkrResult.class)
    public OkrResult<BffUpdateBizAppSceneRespDto> updateBizAppScene(@RequestBody(required = false) @Validated BffUpdateBizAppSceneReqDto reqDTO) {
        return OkrResult.success(appSceneService.updateBizAppScene(reqDTO));
    }

    /**
     * B1-1新增业务应用（平台）
     * gen by moon at 8/10/2022, 3:41:20 AM
     */
    @PostMapping("/oms/platform/appScene/addBizAppScene")
    @ApiOperation(value = "B1-1新增业务应用（平台）", response = OkrResult.class)
    public OkrResult<BffAddBizAppSceneRespDto> addBizAppScene(@RequestBody(required = false) @Validated BffAddBizAppSceneReqDto reqDTO) {
        return OkrResult.success(appSceneService.addBizAppScene(reqDTO));
    }

    /**
     * B1-1查询业务应用详情（平台）
     * gen by moon at 8/10/2022, 3:41:16 AM
     */
    @PostMapping("/oms/platform/appScene/queryBizAppSceneDetail")
    @ApiOperation(value = "B1-1查询业务应用详情（平台）", response = OkrResult.class)
    public OkrResult<BffQueryBizAppSceneDetailRespDto> queryBizAppSceneDetail(@RequestBody(required = false) @Validated BffQueryBizAppSceneDetailReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizAppSceneDetail(reqDTO));
    }

    /**
     * B1-1查询业务场景菜单列表(边界)
     * gen by moon at 9/17/2022, 11:01:49 PM
     */
    @PostMapping("/oms/platform/appScene/queryBizSceneMenuListBorder")
    @ApiOperation(value = "B1-1查询业务场景菜单列表(边界)", response = OkrResult.class)
    public OkrResult<BffQueryBizSceneMenuListBorderRespDto> queryBizSceneMenuListBorder(@RequestBody(required = false) @Validated BffQueryBizSceneMenuListBorderReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizSceneMenuListBorder(reqDTO));
    }

    /**
     * B1-1查询赋能的应用列表(管理)(公共)(边界)
     * gen by moon at 10/22/2022, 4:28:24 PM
     */
    @PostMapping("/oms/platform/mgt/appScene/queryEnablingAppListComBorder")
    @ApiOperation(value = "B1-1查询赋能的应用列表(管理)(公共)(边界)", response = OkrResult.class)
    public OkrResult<BffQueryEnablingAppListComBorderRespDto> queryEnablingAppListComBorder(@RequestBody(required = false) @Validated BffQueryEnablingAppListComBorderReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryEnablingAppListComBorder(reqDTO));
    }

    /**
     * B1-1查询赋能的应用业务场景列表(管理)(公共)(边界)
     * gen by moon at 10/27/2022, 4:23:06 PM
     */
    @PostMapping("/oms/platform/mgt/appScene/queryEnablingAppSceneListComBorder")
    @ApiOperation(value = "B1-1查询赋能的应用业务场景列表(管理)(公共)(边界)", response = OkrResult.class)
    public OkrResult<BffQueryEnablingAppSceneListComBorderRespDto> queryEnablingAppSceneListComBorder(@RequestBody(required = false) @Validated BffQueryEnablingAppSceneListComBorderReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryEnablingAppSceneListComBorder(reqDTO));
    }

    /**
     * B1-1查询宿主类型未推荐场景列表(管理)(边界)
     * gen by moon at 10/27/2022, 4:23:04 PM
     */
    @PostMapping("/oms/platform/mgt/appScene/queryBizScnHostTypeListBorder")
    @ApiOperation(value = "B1-1查询宿主类型未推荐场景列表(管理)(边界)", response = OkrResult.class)
    public OkrResult<BffQueryBizScnHostTypeListBorderRespDto> queryBizScnHostTypeListBorder(@RequestBody(required = false) @Validated BffQueryBizScnHostTypeListBorderReqDto reqDTO) {
        return OkrResult.success(appSceneService.queryBizScnHostTypeListBorder(reqDTO));
    }

}

